// utils/dateUtils.js

/**
 * 将后端的年份数字转换为 Date 对象
 * @param {number} num - 例如 2019
 * @returns {Date} 对应的 Date 对象，日期为该年 1 月 1 日
 */
export function toYearDate(num) {
  return new Date(num, 0, 1);
}

/**
 * 将后端的年月数字转换为 Date 对象
 * @param {number} num - 例如 201901
 * @returns {Date} 对应的 Date 对象，日期为该月 1 日
 */
export function toMonthDate(num) {
  const y = Math.floor(num / 100);
  const m = (num % 100) - 1;
  return new Date(y, m, 1);
}

/**
 * 格式化 Date 对象为 YYYY 数值
 * @param {Date|null} d
 * @returns {number|null}
 */
export function formatYear(d) {
  return d instanceof Date ? d.getFullYear() : null;
}

/**
 * 格式化 Date 对象为 YYYYMM 数值
 * @param {Date|null} d
 * @returns {number|null}
 */
export function formatYearMonth(d) {
  return d instanceof Date
    ? d.getFullYear() * 100 + (d.getMonth() + 1)
    : null;
}
